import java.util.*;

//字符串变形
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param s string字符串 
     * @param n int整型 
     * @return string字符串
     */
    public String trans (String s, int n) {
        StringBuilder res=new StringBuilder();
        s=flip(s);
        Stack<Character> stack=new Stack<>();
        for(int i=s.length()-1;i>=0;i--){
            char c=s.charAt(i);
            if(c!=' '){
                stack.push(c);
            }else{
                addString(res,stack);
                res.append(c);
            }
        }
        if(!stack.empty()){
            addString(res,stack);
        }
        return res.toString();
    }
    //添加字符串
    public static void addString(StringBuilder s,Stack<Character> stack){
        while(!stack.empty()){
            s.append(stack.pop());
        }
    }
    //大小写翻转
    public String flip(String s){
        StringBuffer tmp=new StringBuffer();
        for(int i=0;i<s.length();i++){
            char ch=s.charAt(i);
            if(Character.isLowerCase(ch)){
                tmp.append(Character.toUpperCase(ch));
            }else if(Character.isUpperCase(ch)){
                tmp.append(Character.toLowerCase(ch));
            }else{
                tmp.append(ch);
            }
        }
        return tmp.toString();
    }
}